What is @turf/hex-grid?
@turf/hex-grid is a module from the Turf.js library that allows you to create a hexagonal grid within a bounding box. This can be useful for spatial analysis, data visualization, and geographic information system (GIS) applications.
What are @turf/hex-grid's main functionalities?
Create a Hexagonal Grid
This feature allows you to create a hexagonal grid within a specified bounding box. The `bbox` parameter defines the bounding box, `cellSide` specifies the length of each hexagon's side, and `options` can include units of measurement.
const turf = require('@turf/turf');
const bbox = [-96, 31, -84, 40];
const cellSide = 50;
const options = { units: 'miles' };
const hexgrid = turf.hexGrid(bbox, cellSide, options);
console.log(JSON.stringify(hexgrid));
Other packages similar to @turf/hex-grid
d3-hexbin
d3-hexbin is a module from the D3.js library that provides tools for creating hexagonal binning layouts. It is particularly useful for data visualization in web applications. Compared to @turf/hex-grid, d3-hexbin is more focused on visual representation and less on spatial analysis.
h3-js
h3-js is a JavaScript library for working with Uber's H3 hexagonal hierarchical geospatial indexing system. It offers more advanced features for spatial indexing and analysis compared to @turf/hex-grid, which is more focused on simple hexagonal grid creation.
@turf/hex-grid
hexGrid
Takes a bounding box and a cell size in degrees and returns a FeatureCollection of flat-topped
hexagons (Polygon features) aligned in an "odd-q" vertical grid as
described in Hexagonal Grids.
Parameters
bbox
Array<number> extent in [minX, minY, maxX, maxY] ordercellSize
number dimension of cell in specified unitsunits
[string] used in calculating cellSize, can be degrees, radians, miles, or kilometers (optional, default kilometers
)triangles
[boolean] whether to return as triangles instead of hexagons (optional, default false
)
Examples
var bbox = [-96,31,-84,40];
var cellSize = 50;
var units = 'miles';
var hexgrid = turf.hexGrid(bbox, cellSize, units);
Returns FeatureCollection<Polygon> a hexagonal grid
This module is part of the Turfjs project, an open source
module collection dedicated to geographic algorithms. It is maintained in the
Turfjs/turf repository, where you can create
PRs and issues.
Installation
Install this module individually:
$ npm install @turf/hex-grid
Or install the Turf module that includes it as a function:
$ npm install @turf/turf